﻿using System;

class SomeClass // 基类
{
    public string Field1 = "Fields -- In the base class";
}

class OtherClass:SomeClass // 继承类OtherClass，继承于SomeClass
{
    new public string Field1 = "Fields -- In the derived class";
    public void PrintField1()
    {
        Console.WriteLine(Field1); // 访问派生类
        Console.WriteLine(base.Field1); // 访问基类
        /* 如果想要使得派生类能够完全访问被隐藏的继承成员，就可以使用基类访问表达式访问被隐藏的继承成员。
         * 基类访问表达式由关键字base后面跟一个点和成员的名称组成。
         */
    }
}

class Program
{
    static void Main(string[] args)
    {
        OtherClass oc = new OtherClass(); // 实例化
        oc.PrintField1(); // 执行oc的PrintFields1()方法
        Console.ReadKey();
    }
}